package com.wj.controller;


import com.hospital.common.base.Result;
import com.hospital.common.dto.upload.module.DeleteFilesContactDto;
import com.hospital.common.dto.upload.module.FindOnePostWithResourceContactDto;
import com.hospital.common.dto.upload.module.FindPostWithResourceCountDto;
import com.hospital.common.dto.upload.module.SavePicturePathDto;
import com.wj.service.ITResourceService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

/**
 * <p>
 * 资源映射表 前端控制器
 * </p>
 *
 * @author author
 * @since 2025-09-26
 */
@RestController
//@RequestMapping("/t-resource")
public class TResourceController {
    @Autowired
    private ITResourceService tResourceService;

    /**
     * 保存图片路径，并删除没有用到的 文件集合（转的JSON字符串）
     * @param savePicturePathDto
     * @return
     */
    @PostMapping("/savePicturePath")
    public Result savePicturePath(@RequestBody SavePicturePathDto savePicturePathDto) {
        return Result.success(tResourceService.savePicturePath(savePicturePathDto));
    }

    /**
     * 删除评论中的文件引用，并删除文件
     * @param dto
     * @return
     */
    @PostMapping("/deleteFilesContact")
    public Result deleteFilesContact(@RequestBody DeleteFilesContactDto dto) {
        return Result.success(tResourceService.deleteFilesContact(dto));
    }

    /**
     * 根据板块，帖子，创建时间查找帖子资源映射
     * @param findAllContactDto
     * @return
     */
    @PostMapping("/findPostWithResourceCount")
    public Result findPostWithResourceCount(@RequestBody FindPostWithResourceCountDto findAllContactDto) {
        return Result.success(tResourceService.findPostWithResourceCount(findAllContactDto));
    }
    /**
     * 根据板块，帖子，创建时间查找具体单个帖子所有的资源映射
     * @param findOnePostWithResourceContactDto
     * @return
     */
    @PostMapping("/findOnePostWithResourceContact")
    public Result findOnePostWithResourceContact(@RequestBody
       FindOnePostWithResourceContactDto findOnePostWithResourceContactDto) {
        return Result.success(tResourceService.findOnePostWithResourceContact(findOnePostWithResourceContactDto));
    }

    /**
     *  查询单个评论或者回复详情并图片资源
     */
    @GetMapping("/findOneContentWithResource")
    public Result findOneContentWithResource(@RequestParam("contentId") Long contentId) {
        return Result.success(tResourceService.findOneContentWithResource(contentId));
    }
    /**
     * 获取总数资源
     */
    @GetMapping("/getTotalResource")
    public Result getTotalResource() {
        return Result.success(tResourceService.count());
    }

}
